O software de cálculo estrutural RFEM 6 é a base de um sistema de software composto por módulos. O programa principal RFEM 6 é utilizado para definir estruturas, materiais e ações para sistemas estruturais planos e espaciais constituídos por lajes, paredes, cascas e barras. O programa também permite criar estruturas combinadas, bem como modelar sólidos e elementos de contacto.
O RSTAB 9 é um programa de cálculo de estruturas reticuladas e pórticos 3D que reflete o estado atual da tecnologia e ajuda os engenheiros de estruturas a cumprir os requisitos da engenharia civil moderna.
Costuma perder muito tempo a calcular secções? A Dlubal Software e o programa autónomo RSECTION facilitam-lhe o trabalho determinando propriedades de secções e efetuando análises de tensões para diferentes secções.
Sabe sempre de onde vem o vento? Da direção da inovação, é claro! Com o RWIND 2, dispõe de um programa que utiliza um túnel de vento digital para a simulação numérica de fluxos de vento. O programa fornece estes fluxos em torno de eventuais geometrias de edifícios e determina as cargas de vento nas superfícies.
Procura uma vista geral de zonas de cargas de neve, velocidades de vento e cargas sísmicas? Então, está no sítio certo. Os mapas de zonas de carga são adequados para a determinação rápida e fácil de cargas de neve, velocidades de vento e cargas sísmicas de acordo com o Eurocódigo e outras normas internacionais.
Gostaria de experimentar o poder dos programas da Dlubal Software? Esta é a sua oportunidade! Com a versão completa gratuita de 90 dias, pode testar exaustivamente todos os nossos programas.
A opção "Ligar linhas/barras" pode ser implementada com as funções "ConnectLines()" e "ConnectMemembers()". Ambas as funções esperam uma cadeia com os números das linhas ou barras:
Sub test_connect()Dim iMod As RFEM5.modelSet iMod = GetObject(, "RFEM5.Model")iMod.GetApplication.LockLicenseOn Error GoTo eDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData()iModData.PrepareModificationiModData.ConnectLines ("3,4")iModData.ConnectMembers ("1,2")iModData.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Neste exemplo, são ligadas as linhas 1 e 2 e é criado um nó no ponto de intersecção. O mesmo se aplica às barras 1 e 2, onde também é criado um novo nó no ponto de intersecção.
Para selecionar objetos, existe a função "SelectObjects" na interface IModelData (ou IModeldata2 etc.). A função espera o tipo de objeto e o(s) número(s) de objetos como uma cadeia de caracteres. Aqui está um pequeno exemplo:
Sub select_objects()Dim model As RFEM5.modelSet model = GetObject(, "RFEM5.Model")model.GetApplication.LockLicenseOn Error GoTo e Dim iModdata As IModelData2 Set iModdata = model.GetModelData ' enable Selections iModdata.EnableSelections True ' select nodes 2-3 and lines 1 and 3 iModdata.SelectObjects ModelObjectType.NodeObject, "2-3" iModdata.SelectObjects ModelObjectType.LineObject, "1,3" ' deselect nodes and lines iModdata.SelectObjects ModelObjectType.NodeObject, "" iModdata.SelectObjects ModelObjectType.LineObject, "" e: If Err.Number <> 0 Then MsgBox Err.description, , Err.Sourcemodel.GetApplication.UnlockLicenseSet iModdata = NothingSet model = NothingEnd Sub
Na parte superior, as seleções são ativadas e, em seguida, os nós 2 a 3 e as linhas 1 e 3 são selecionados. Em seguida, as linhas e os nós são desselecionados por uma cadeia de caracteres vazia.
Se pretende ler ou modificar objetos selecionados, precisa da função "IModelData.EnableSelections" (também pode ser encontrada acima no código). Se a função for ativada com "True", apenas os nós selecionados serão lidos com a função "IModelData.GetNodes ()", por exemplo.
Neste caso, existe um erro no EXCEL VBA que não pode ser corrigido da nossa parte. Por esse motivo, foi criado o novo objeto RFEM.RfLine (em vez de RFEM.Line) que pode ser utilizado para continuar o seu trabalho. Aqui está um pequeno exemplo:
Sub test_RfLine() Dim iModel As RFEM5.IModel2 Set iModel = GetObject(, "RFEM5.Model") iModel.GetApplication.LockLicense On Error GoTo e Dim iModelData As RFEM5.IModelData2 Set iModelData = iModel.GetModelData Dim lines() As RFEM5.RfLine lines = iModelData.GetLines e: If Err.Number <> 0 Then MsgBox Err.Description, , Err.Source Set iModelData = Nothing iModel.GetApplication.UnlockLicense Set iModel = Nothing End Sub
A nossa oferta formativa online encontra-se sempre atualizada no nosso site podendo ser consultada através da seguinte ligação:
Selecione a ação de formação que lhe interessa e clique no botão "Inscrever" ao fundo dá página. Preencha o formulário que irá aparecer, onde deve introduzir os seus dados pessoais, o endereço de e-mail e os dados da empresa. A página seguinte apresenta uma breve descrição geral ou a confirmação da sua inscrição, bem como a informação sobre o preço da formação, se esta não for gratuita. No caso de a formação estar sujeita a custos, pode prosseguir com o pagamento e optar pelo PayPal ou por um dos seguintes cartões de crédito:
Certifique-se de que o cartão de crédito está autorizado para o pagamento do valor em causa e de que os detalhes foram introduzidos corretamente.
Por vezes, não são aceites cartões de crédito. As razões para isso podem ser:
Se os problemas não puderem ser resolvidos, entre em contacto connosco.
Sub test_section()' get interface from the opened model and lock the licence/program Dim iModel As RFEM5.IModel3 Set iModel = GetObject(, "RFEM5.Model") iModel.GetApplication.LockLicense On Error GoTo E Dim iSecs As RFEM5.ISections Set iSecs = iModel.GetSections()
' first delete all sections iSecs.PrepareModification iSecs.DeleteObjects ("All") iSecs.FinishModification ' set section on solid Dim sec As RFEM5.Section sec.EdgePointA.X = 2 sec.EdgePointA.Y = 5 sec.EdgePointA.Z = 0 sec.EdgePointB.X = 2 sec.EdgePointB.Y = 8 sec.EdgePointB.Z = 0 sec.no = 1 sec.Name = "solid section" sec.Plane = GlobalPlaneInPositiveX sec.ShowValuesInIsolines = False sec.Type = SectionOnSolidSectionLine sec.ObjectList = "1" iSecs.PrepareModification iSecs.SetSection sec iSecs.FinishModification
' set section on surface sec.EdgePointA.X = 2 sec.EdgePointA.Y = 0 sec.EdgePointA.Z = 0 sec.EdgePointB.X = 2 sec.EdgePointB.Y = 3 sec.EdgePointB.Z = 0 sec.no = 2 sec.Name = "surface section" sec.Plane = GlobalPlaneInPositiveX sec.ShowValuesInIsolines = True sec.Type = SectionViaSurfacePlane sec.ObjectList = "1" sec.Vector.X = 0 sec.Vector.Y = 0 sec.Vector.Z = 1 iSecs.PrepareModification iSecs.SetSection sec iSecs.FinishModification
' get results Dim iCalc As ICalculation2 Set iCalc = iModel.GetCalculation Dim iRes As IResults2 Set iRes = iCalc.GetResultsInFeNodes(LoadCaseType, 1) Dim secRes() As RFEM5.SectionResult secRes = iRes.GetResultsInSection(2, AtNo, ShearForceVy,ContinuousDistributionWithinObjects, False)
Para transferir vários elementos, tem de criar primeiro um campo (matriz) em VBA:
Dim nodes(0 to 2) as RFEM5.Node
Em seguida, pode utilizar o método IModelData.SetNodes() para transferir todos os nós de uma só vez para o campo (aqui, os três elementos 0,1,2).
Esses métodos também estão disponíveis, por exemplo, para os seguintes elementos estruturais:
IModelData.SetLines()
IModelData.SetMembers()
IModelData.SetSurfaces()